package telas;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.text.MaskFormatter;
import javax.swing.JLabel;
import javax.swing.JSeparator;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.SwingConstants;
import javax.swing.JFormattedTextField;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.text.ParseException;

import javax.swing.JRadioButton;

import dado.DAOLivro;

import organizador.Livro;

public class CadastraLivro extends JFrame {

	private JPanel contentPane;
	private JTextField txtNomeLivro;
	private JTextField txtAutor;
	private JFormattedTextField txtAno;
	 
	private Livro livro = new Livro();
	private JButton btnSalvar;
	private JTextField txtGenero;
	
	private DAOLivro dadosLivro = new DAOLivro();
	private JTextField txtCodigo;
	
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					CadastraLivro frame = new CadastraLivro();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
   
	public CadastraLivro() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 316);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JSeparator separator = new JSeparator();
		separator.setBounds(25, 23, 393, 2);
		contentPane.add(separator);
		
		JLabel lblNomeDoLivro = new JLabel("Nome do Livro:");
		lblNomeDoLivro.setBounds(25, 35, 107, 14);
		contentPane.add(lblNomeDoLivro);
		
		txtNomeLivro = new JTextField();
		txtNomeLivro.setBounds(25, 50, 393, 20);
		contentPane.add(txtNomeLivro);
		txtNomeLivro.setColumns(10);
		
		txtAutor = new JTextField();
		txtAutor.setBounds(25, 95, 393, 20);
		contentPane.add(txtAutor);
		txtAutor.setColumns(10);
		
		JLabel lblAutor = new JLabel("Autor:");
		lblAutor.setBounds(25, 81, 46, 14);
		contentPane.add(lblAutor);
		
		JLabel lblAno = new JLabel("Ano:");
		lblAno.setBounds(25, 190, 46, 14);
		contentPane.add(lblAno);
		
		try {
			txtAno = new JFormattedTextField(new MaskFormatter("####"));
		} catch (ParseException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace(); 
		}
		txtAno.setHorizontalAlignment(SwingConstants.LEFT);
		txtAno.setToolTipText("");
		txtAno.setBounds(25, 204, 86, 20);
		contentPane.add(txtAno);
		txtAno.setColumns(10);

		
		btnSalvar = new JButton("Salvar");
		btnSalvar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				livro.setAno(txtAno.getText());
				livro.setAutor(txtAutor.getText());
				livro.setTitulo(txtNomeLivro.getText());
				livro.setGenero(txtGenero.getText());
				livro.setDisponivel(true);
				livro.setCodigo(txtCodigo.getText());
			
				dadosLivro.createLivro(livro);
				
				txtNomeLivro.setText(null);
				txtAutor.setText(null);
				txtAno.setText(null);
				txtGenero.setText(null);
				txtCodigo.setText(null);
				dispose();
			}			
		});
		btnSalvar.setBounds(25, 235, 200, 23);
		contentPane.add(btnSalvar);
		
		JButton btnCancelar = new JButton("Cancelar");
		btnCancelar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				txtNomeLivro.setText(null);
				txtAutor.setText(null);
				txtAno.setText(null);
				txtGenero.setText(null);
				txtCodigo.setText(null);
				dispose();
			}
		});
		btnCancelar.setBounds(232, 235, 186, 23);
		contentPane.add(btnCancelar);
		
		txtGenero = new JTextField();
		txtGenero.setBounds(25, 159, 180, 20);
		contentPane.add(txtGenero);
		txtGenero.setColumns(10);
		
		JLabel lblGenero = new JLabel("Genero:");
		lblGenero.setBounds(25, 134, 46, 14);
		contentPane.add(lblGenero);
		
		try {
			txtCodigo = new JFormattedTextField(new MaskFormatter("***###"));
		} catch (ParseException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		txtCodigo.setBounds(219, 204, 86, 20);
		contentPane.add(txtCodigo);
		txtCodigo.setColumns(10);
		
		JLabel lblCdigo = new JLabel("C\u00F3digo");
		lblCdigo.setBounds(219, 190, 46, 14);
		contentPane.add(lblCdigo);
		
	}
}
